////////////////////////////////////////////////////////////////////////////////
// Copyright 2005 CORE Solutions Limited
// All rights reserved.
// PROPRIETARY AND CONFIDENTIAL INFORMATION.
// Use is subject to license terms.
//
// FUNCTION ID      :   TASK
// AUTHOR           :   Ric Yik
// DATE CREATE      :   2005/12/29
// DESCRIPTION      :   a VO file for the function, TASK
//                  :
//                  :
//                  :
//
// MODIFICATION HISTORY:
// DATE         AUTHOR          VERSION NO.         COMMENT
// -----------  --------------  ------------------  -------------------
// 2005/12/29   Ric Yik         1.0                 source is generated.
//
//
//
////////////////////////////////////////////////////////////////////////////////

package com.erp.app.setup.taskMaster.vo;

import java.sql.Timestamp;

import com.erp.app.common.ProjectConstants;
import com.erp.app.common.util.ProjectCommonUtil;
import com.erp.app.setup.taskMaster.pk.TaskDtlPk;
import com.erp.framework.model.pk.SimpleSearchMaintStylePk;
import com.erp.framework.model.vo.SimpleSearchMaintStyleVo;
import com.erp.framework.types.CustomBigInteger;
import com.erp.framework.types.CustomSqlDate;

/**
* <p>A <strong>VO</strong>(Value Object) is a JavaBean which provides property
* getter and setter methods for all of the bean properties, and implements
* <code>Serializable</code>, as required by the JavaBean specification
* The main purpose for this class is to store the data retrieved from the database,
* and the converted data from the web browsers.
*
* @author          Ric Yik
* @version 1.0     2005/12/29
* @since           FrameWork 1.0
*
*/
public class TaskDtlVo extends SimpleSearchMaintStyleVo {

    //DB Table Name: T_TASK_DTL

    //PK Attributes
    private String companyCode;                      //DB Column Name: COMPANY_CODE
    private String docType;                          //DB Column Name: DOC_TYPE
    private String taskCode;                         //DB Column Name: TASK_CODE

    //Other Attributes
    private String dtlTaskDesc;                      //DB Column Name: TASK_DESC
    private String dtlUserGroup;                     //DB Column Name: USER_GROUP
    private String dtlUserCode;                      //DB Column Name: USER_CODE
    private String dtlDateType;                      //DB Column Name: DATE_TYPE
    private CustomBigInteger dtlNoDateFrom;          //DB Column Name: NO_DATE_FROM
    private CustomBigInteger dtlDuration;            //DB Column Name: DURATION
    private String dtlStatus;                        //DB Column Name: STATUS
    private String dtlIsDefault=ProjectConstants.GENERIC_NO;                     //DB Column Name: IS_DEFAULT
    private String dtlDcInd;                         //DB Column Name: DC_IND
    private CustomSqlDate dtlDcDate;                 //DB Column Name: DC_DATE
    private String createUser;                       //DB Column Name: CREATE_USER
    private Timestamp createDate;                    //DB Column Name: CREATE_DATE
    private String updateUser;                       //DB Column Name: UPDATE_USER
    private Timestamp updateDate;                    //DB Column Name: UPDATE_DATE

    private String dtlSeq;                           //DB Column Name: SEQ

    /**
    * Stores the detail child names by the fully-qualified java class path.
    *
    * @author     Ric Yik
    * @since      FrameWork 1.0
    */
    protected  void setChildTypesName() {
        //this.childTypesName=new String[2];
        //this.childTypesName[0]="com.erp.app.form.beans.FormApprovalListVo";
        //this.childTypesName[1]="com.erp.app.form.beans.FormAttachmentVo";
    }

    /**
    * Stores the table schema name by the fully-qualified java class path.
    *
    * @author     Ric Yik
    * @since      FrameWork 1.0
    */
    protected void setTableSchemaName() {
        this.tableSchemaName="com.erp.app.setup.taskMaster.schema.TaskDtlSchema";
    }

    /**
    * Stores the detail child table schema names by the fully-qualified java class path.
    *
    * @author     Ric Yik
    * @since      FrameWork 1.0
    */
    protected  void setChildTableSchemaNames() {
        //this.childTableSchemaNames=new String[2];
        //this.childTableSchemaNames[0]="com.erp.app.form.beans.FormApprovalListSchema";
        //this.childTableSchemaNames[1]="com.erp.app.form.beans.FormAttachmentSchema";
    }

    /**
    * Stores the DAO name by the fully-qualified java class path.
    *
    * @author     Ric Yik
    * @since      FrameWork 1.0
    */
    protected void setDaoName() {
        this.daoName="com.erp.app.setup.taskMaster.dao.TaskDtlDao";
    }

    /**
    * Returns the primary key for this class.
    * @return      primary key of this class
    *
    * @author     Ric Yik
    * @since      FrameWork 1.0
    */
    public SimpleSearchMaintStylePk getSearchMaintStylePk() {
        return new TaskDtlPk(this.companyCode, this.docType, this.taskCode);
    }

    /**
    * Converts to a string representing the data in this object.
    * A new <code>String</code> object is allocated and initialized to
    * contain the character sequence currently represented by this
    * object. This <code>String</code> is then returned. Subsequent
    * changes to this object do not affect the contents of the
    * <code>String</code>.
    *
    * @return     a string representation of the object.
    * @see        java.lang.Object#toString()
    * @author     Ric Yik
    * @since      FrameWork 1.0
    */
    public String toString() {
        String pkStr = "PK: {companyCode = " + this.companyCode
            + "\n, docType = " + this.docType
            + "\n, taskCode = " + this.taskCode + "}\n";

        String colStr = "COL: {dtlTaskDesc = " + this.dtlTaskDesc
            + "\n, dtlUserGroup = " + this.dtlUserGroup
            + "\n, dtlUserCode = " + this.dtlUserCode
            + "\n, dtlDateType = " + this.dtlDateType
            + "\n, dtlNoDateFrom = " + this.dtlNoDateFrom
            + "\n, dtlDuration = " + this.dtlDuration
            + "\n, dtlStatus = " + this.dtlStatus
            + "\n, dtlIsDefault = " + this.dtlIsDefault
            + "\n, dtlDcInd = " + this.dtlDcInd
            + "\n, dtlDcDate = " + this.dtlDcDate
            + "\n, createUser = " + this.createUser
            + "\n, createDate = " + this.createDate
            + "\n, updateUser = " + this.updateUser
            + "\n, updateDate = " + this.updateDate + "}\n";

        return "TaskDtlVo.toString() is:\n" + pkStr + colStr;
    }

    ////////////////////////////////////////////////////////////////////////////////
    //Generated Accessors (get/set methods)
    ////////////////////////////////////////////////////////////////////////////////

    public String getCompanyCode() {
        return this.companyCode;
    }

    public String getDocType() {
        return this.docType;
    }

    public String getTaskCode() {
        return this.taskCode;
    }

    public String getDtlTaskDesc() {
        return this.dtlTaskDesc;
    }

    public String getDtlUserGroup() {
        return this.dtlUserGroup;
    }

    public String getDtlUserCode() {
        return this.dtlUserCode;
    }

    public String getDtlDateType() {
        return this.dtlDateType;
    }

    public CustomBigInteger getDtlNoDateFrom() {
        return this.dtlNoDateFrom;
    }

    public CustomBigInteger getDtlDuration() {
        return this.dtlDuration;
    }

    public String getDtlStatus() {
        return this.dtlStatus;
    }

    public String getDtlIsDefault() {
        return this.dtlIsDefault;
    }

    public String getDtlDcInd() {
        return this.dtlDcInd;
    }

    public CustomSqlDate getDtlDcDate() {
        return this.dtlDcDate;
    }

    public String getCreateUser() {
        return this.createUser;
    }

    public Timestamp getCreateDate() {
        return this.createDate;
    }

    public String getUpdateUser() {
        return this.updateUser;
    }

    public Timestamp getUpdateDate() {
        return this.updateDate;
    }

    public void setCompanyCode(String companyCode) {
        this.companyCode = ProjectCommonUtil.toCode(companyCode);
    }

    public void setDocType(String docType) {
        this.docType = ProjectCommonUtil.toCode(docType);
    }

    public void setTaskCode(String taskCode) {
        this.taskCode = ProjectCommonUtil.toCode(taskCode);
    }

    public void setDtlTaskDesc(String dtlTaskDesc) {
        this.dtlTaskDesc = dtlTaskDesc;
    }

    public void setDtlUserGroup(String dtlUserGroup) {
        this.dtlUserGroup = dtlUserGroup;
    }

    public void setDtlUserCode(String dtlUserCode) {
        this.dtlUserCode = dtlUserCode;
    }

    public void setDtlDateType(String dtlDateType) {
        this.dtlDateType = dtlDateType;
    }

    public void setDtlNoDateFrom(CustomBigInteger dtlNoDateFrom) {
        this.dtlNoDateFrom = dtlNoDateFrom;
    }

    public void setDtlDuration(CustomBigInteger dtlDuration) {
        this.dtlDuration = dtlDuration;
    }

    public void setDtlStatus(String dtlStatus) {
        this.dtlStatus = dtlStatus;
    }

    public void setDtlIsDefault(String dtlIsDefault) {
        this.dtlIsDefault = dtlIsDefault;
    }

    public void setDtlDcInd(String dtlDcInd) {
        this.dtlDcInd = dtlDcInd;
    }

    public void setDtlDcDate(CustomSqlDate dtlDcDate) {
        this.dtlDcDate = dtlDcDate;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    public void setCreateDate(Timestamp createDate) {
        this.createDate = createDate;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

    public void setUpdateDate(Timestamp updateDate) {
        this.updateDate = updateDate;
    }

    public String getDtlSeq() {
        return dtlSeq;
    }

    public void setDtlSeq(String dtlSeq) {
        this.dtlSeq = dtlSeq;
    }

    ////////////////////////////////////////////////////////////////////////////////
    //Other Accessors (get/set methods)
    ////////////////////////////////////////////////////////////////////////////////


}